Note that SFTP is NOT FTP over a secure connection. Even though, from a user perspective, they behave the same, these two protocols are completely different. The host you want to reach must be running an SSH server with a properly configured sftp-server, and can safely shut down the insecure FTP access.
One of the big advantages of SFTP over FTP, beside security, is the single TCP channel connection and multiplexing, that allows connections behind firewalls without requiring complex router configurations.
Connection to an sftp server:
Cmd-N (or File menu->New Connection item) brings an SFTP Login dialog where you can enter the host name, your user name and password, and optionally the pathname on the host.
The bottom left popup button let you select the connection settings from the bookmarks list, or add the current settings into a new bookmark.
The top right popup recalls the settings for the previous connections since the application's launch.
Once the connection established, the remote directory content is displayed in a browser window.
Uploading:
There are several ways to send files or directories to the remote:
- Drag files from the finder and drop them either in the browser window, to send the file in the currently listed directory, or over a directory's icon or name to put the file inside this hilited directory.
- Select the option 'Put Files' in the 'Remote' menu.
- Use the AppleScript command 'upload'.
Downloading:
Receiving files or directories is done the same way:
- Drag them from the browser window and drop them on the desktop, or any finder icon.
- Select a group of files in the browser window, and use the 'Get Files' option from the 'Remote' menu.
- Use the AppleScript command 'download'.
Preferences:
General:
• Open login dialog at startup:
Check this box if you want MacSFTP to bring the 'New Connection' dialog at startup.
• Open bookmarks window at startup:
Check this box if you want MacSFTP to always open bring the Bookmarks list at startup.
• New window when opening folders:
Check this box if you want to have a new window for each opened directory.
• Double-click on a file:
Select the type of action when a file is double-clicked in the browser:
- Download the selection: will open the destination directory selection dialog and download the selection at this location
- Edit the selection with BBEdit: will download the selection in the temporaty items directory, launch BBEdit, open each downloaded document in BBEdit, and bring it to the front. You can then edit your documents as usually. Once the edition completed, simply save your document in BBEdit, and the modified file will be uploaded in place of the original on the server.
• Remember passwords:
Check this box if you want MacSFTP to store internally your passwords to avoid typing them again when reconnecting to the same host.
• Use MacOS keychain:
Check this box if you want MacSFTP to save your passwords in MacOS keychain.
• Protocol:
Automatic: MacSFTP will use the right protocol depending on the server's greetings message.
SSH1: SSH protocol version 1 will be forced
SSH2: SSH protocol version 2 will be forced
• Default download folder:
This is the destination directory for downloads when the destination file is not set using the AppleScript download command. This is also the default selection when downloading manually.
SSH1:
• Encryption:
Select the encryption type to use. default will use the first common encryption that matches both the server and the client's list.
• RSA1 key:
This is the key pair used in public-key authentication. Some SSH servers are configured to reject password authentication, and let users connect only using this method.
'New…' lets you generate this key-pair
'Other…' lets you select an existing MacSFTP key pair
'Export…' creates a text file containing the public key to install on the server side.
SSH2:
• Encryption:
Select the encryption type to use. default will use the first common encryption that matches both the server and the client's list.
• Authentication:
Select the authentication type to use. default will use the first common authentication that matches both the server and the client's list.
• RSA/DSA keys:
This is the key pair used in public-key authentication. Some SSH servers are configured to reject password authentication, and let users connect only using this method. you can use either type of keys with SSH2.
'New…' lets you generate this key-pair
'Other…' lets you select an existing MacSFTP key pair
'Export…' creates a text file containing the public key to install on the server side.
File-Transfer:
• Upload permissions:
Set here the file and directories access permissions when created on the server.
• Keep permissions of existing files;
Check this box if you want MacSFTP to keep the existing remote files permissions as-is when uploading.
• Ignore set permissions errors:
Some servers are configured to reject 'change permissions' commands, and force them to a fixed set. Check this box if you have "couldn't fsetstat" error messages when uploading.
• Keep file permissions on MacOSX
Check this box if you want MacSFTP to keep file permissions of the files according to MacOSX permissions. note that this inhibits the default upload permissions sets.
• Upload files using MacBinary:
Check this option if you want to preserve the resource fork/finder informations by converting the files into MacBinary III format on the fly. note that a '.bin' extension will be added to the filename.
• only when needed:
Check this option if you don't want the MacBinary encoding for 'TEXT' files, and for files containing an empty resource fork.
• Translate text files linefeeds:
Check this option if you want Macintosh CRs to be converted into unix LFs for 'TEXT' files for upload, and vice-versa when downloading files whose extension returns the file type 'TEXT' using your system's Internet Settings.
Display:
• Hide 'dot' files:
Check this box if you want MacSFTP to hide the files whose name begins with a dot.
• Directory cache size:
this is the maximum buffer size for cached directory listings. You can set it to 0 if you don't want MacSFTP to cache directory data (slower, but always accurate).
• Symlinks resolution:
'Determine from server' will send a symbolic link resolution request for each symbolic link found in the directory listing. this can take some time on large directories containing a lot of links, but should always give the right results.
'Treat as Directories' will assume all the symbolic links are directories without asking.
'Treat as Files' will assume all the symbolic links are files.
• Translate file names:
Use this option to convert the file names depending on the server's type/localization.